Collaborative radio resources allocations to applications of mobile units

ABSTRACT

Collecting state information about the resources of radio access networks (RANs) and the Access Point Names (APNs) enables this information to be provided to mobile stations which employ this information to determine which radio access technology (RAT) to employ for connecting to the wireless access network, and to determine which APN to use. This decision is made relative to each application that the mobile station is executing, and these decisions are, optionally, revisited periodically, or as significant changes in the state information are recognized.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. patent application Ser. No. 12/966,868, filed Dec. 13, 2010, and entitled “Collaborative Radio Resources Allocations To Applications Of Mobile Units,” the entirety of which is incorporated herein by reference.

BACKGROUND

This relates to telecommunication systems and, more particularly, to mobile stations and to networks that interact with the mobile stations.

Cell phone technologies have been advancing over the years. These advances were powered by (in addition to micro-miniaturization) innovations in coding and in protocols, by competition between companies within the US, and by the promulgation of different standards throughout the world. The successively adopted technologies typically provide more bandwidth, better geographical coverage, more effective protocols, more robustness and, consequently, more capabilities. Correspondingly, the networks that serve the cell phones were also advanced but, often, the advances were implemented so as to accommodate the older, legacy, technologies while use of the newer technologies was being spread.

The greater capabilities in the networks enabled the designs of phones with very sophisticated capabilities (often referred to as “smart phones”) and to various other wireless devices such as wireless enabled cars/trains, sensory/eHealth devices, etc. Thus, current day cell phones and other mobile devices (collectively, mobile stations, or MSs) have capabilities that, to different degrees, take advantage of what is commonly referred to as 2G, 3G, and 4G and WiFi technologies. It is fully expected that other technologies will surely follow.

Value added services are often used at the boundary between a wireless operators network and the internet to enhance mobile user experience impacted by the limitations in wireless network. Value added service gateways such as WAP, Compression, Content Adaptation have been used to offset deficiencies in wireless access networks. Value added services such as content filtering, virus detection, and parental control are common to wireline and wireless access networks. Entities that operate networks use APNs to distinguish value added service options while leaving it to the mobile user to select such services.

Moreover, since the installed networks are capable of providing service to mobile stations that operate in different technologies, many mobile stations have been designed to operate in any one of a number of encountered technology environments. These mobile stations switch from one technology to another by active involvement of the MS user.

Better performance can be achieved if the mobile units were able to automatically select the technology that is to be employed, based on network conditions only. Still better performance can be achieved when those selections are application-centric and to be able to lock in to any necessary value added services at the boundary between the wireless operator network and the internet.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 presents an illustrative arrangement that includes a mobile station (MS 10), and a network 20 (henceforth, wireless access network) that is interposed between wireless MS 10 and a data network;

FIG. 2 presents a flow chart of one embodiment of a method that is executed within the interposed network;

FIG. 3 presents a flow chart of one embodiment of a method for installing information in the mobile station to enable the mobile station to make intelligent connection route selections;

FIG. 4 presents a flow chart of one embodiment of a method for employing the installed information to make the route selections; and

FIG. 5 illustrates a matrix of information that is stored in element 18.

DETAILED DESCRIPTION

The General Packet Radio Service (GPRS) is an example of a wireless access network that interconnects mobile stations a data network. The GPRS is a random access packet data extension of the Global System for Mobile communications (GSM), using encapsulation and tunneling to transfer high and low speed data and signaling in an efficient manner. The GSM and GPRS standards are defined in technical specifications published by the European Telecommunications Standards institute (ETSI). These include ETSI GSM 03.03, ETSI GSM 03.60 and ETSI GSM 09.60, which are herein incorporated by reference.

Basically, GPRS radio channels are allocated in a TDMA frame, and the timeslots are shared by the active users. Uplink and downlink channels are allocated separately, and the radio interface resources may be shared dynamically between speech and data services, for example, based on load and operator preference. A variety of channel coding schemes are defined in the ETSI specification to provide a diversity of bit rates. Generally, applications based on standard data protocols are supported, and interworking is defined, with both IP networks and X.25.

An advance in the art is realized by modifying the wireless access network to collect state information about the radio access networks and the Access Point Names (APN), either periodically or as conditions dictate, and to provide this information to mobile stations that wish to use the wireless access network to reach a data network. The information, which is provided to enhanced mobile units, is stored in a database module within the enhanced mobile units, and the enhanced mobile units also includes means to use the received network state information to make routing selections. Specifically, a mobile station that is enhanced in accord with the principles disclosed herein uses the received network state information to determine which radio access technology (RAT) to employ for connecting the mobile station to the wireless access network, and to determine which APN to use. This decision is made relative to each application that the mobile station is executing, and these decisions are, optionally, revisited periodically, or as significant changes in the state information are recognized.

Illustratively, FIG. 1 presents mobile station 20, and wireless access network 20, which is a GPRS network, enhanced in accord with the principles disclosed herein, that is interposed between MS 10 and a network 30 that comprises one or more sub-networks, such as the Internet 31, and X.25 network 32. Both the wireless access network and the mobile station employ information about the network to assist in establishing connections to the data network for applications running on the mobile stations

Mobile station 10, illustratively, is one that is capable of operating in what is commonly referred to as 2G, 3G, 4G, and WiFi technologies, by means of modules 13, 14, 15, and 16, respectively that are included in a radio access technology (RAT) module 45. Other RATS exist which MS 10 is illustratively not adapted to employ; for example, LTE (Long Term Evolution) which some refer to as 3.9G technology. MS 10 includes a processor 19, a user interface module 44 coupled to processor 19, an air interface module 46, and a radio access technology module 45 that is interposed between the air interface module and the processor. MS 10 also includes a memory that stores the operating system with program modules with which the processor interacts to make MS 10 operational (11), and value-enhancing application modules (APPL1, APPL2, . . . APPLn) that provide for various “smart” capabilities of MS 10, such as email service, web surfing, video downloads etc. These value-enhancing applications may be triggered, or “opened” (for execution) by a user that interacts with MS 10 or by some other application that is running on MS 10.

Operationally, modules 13, 14 and 15 enable MS 10 to be connected to a data network through GPRS network 20, whereas WiFi module 16 enables MS 10 to be connected to the Internet through Access Point (AP) 33, which may be a server or a computer that connects to the Internet via an Internet Service Provider (ISP). Use of modules 13, 14, and 15 can be almost concurrent, meaning that at any one instant or of those modules is the one that connects to the wireless access network through air interface 46, or essentially concurrent, meaning that a number of these modules can simultaneous apply signals to the air interface, limited only by the data that is applied to those modules by processor 19.

Wireless access network 20 comprises a plurality of Gateway GPRS Support Nodes (GGSNs), such as unit 21, that interface with network 30 via an internal network 22.A GGSN includes one or more Access Point Names (APNs), each being a service point that performs a specific task. The task may be performed within the APN module, in a separate processor within network 20 such as module 43, or in a particular server within some sub-network of network 30. Also connected to network 22 are Serving GPRS Support Nodes (SGSNs) that are each connected a Radio Access Network (RAN) and Serving Gateways (S-GWs) that are similarly connected to RANs. Each RAN employs a particular communication technology and, to illustrate that, FIG. 1 shows RANS 24, 25, 26, and 27 that operate in 2G, 3G, 4G, and FEMTO technologies, respectively. RANs the employ the 2G and 3G technologies are connected to SGSNs, RANs that employ the 4G technology are connected to S-GWs, and RANs that employ the FEMTO technology are connected to S-GWs through FEMTO Gateways (F-GWs). The RANs include their respective Radio Network Controllers (RNCs) and base stations. Although in the context of the GPRS the RANs are networks, they are shown in FIG. 1 as individual nodes, and for the purposes of this disclosure can be viewed as such.

Network 20 also includes a Mobile Switching Center (MSC) 28, and a Home Location Register (HLR) 29. The MSC sets up and releases the end-to-end connections, handles mobility and hand-over requirements during calls, and takes care of charging and real time pre-paid account monitoring. The HLR is a database that contains information about routing, to enable the MSC to map MSs such MS 10 to one or more GGSNs, to update the SGSNs and to store IP addresses. The signaling and data paths that pertain to the operation of the GPRS (in contrast to data of the MSs) is shown in FIG. 1 in dashed lines, and it should be noted that for sake of clarity many of the signaling paths are shown only in connection with one type of element, but it should be understood that like elements have like signaling paths (e.g. RANs 24, 25, 26, and 27 all have a signaling path the MSC 28). It should be understood that much of what the GPRS network does and how it operates is not disclosed herein because it is quite conventional and does not form a part of this invention.

In accord with the principles disclosed herein, collaboration is undertaken between the applications that run on MS 10 and the radio network. This is accomplished by GPRS network including a resource tracking module 41 that collects network state information and forwards it, via a chosen set of APIs, to MS 10. MS 10 utilizes this information in a manner that is beneficial to network 20 as well as to MS 10. The benefit to MS 10 is that is receives a higher quality of service, and the benefit to network 20 is that the load imposed on it is more balanced, and the network resources are more efficiently utilized which, of course, allows network 20 to provide service to numerous other mobile stations and thereby increase its revenue.

One of the places from where information is collected is a resource tracker in each RAN (illustrated in RAN 24 by the RT element). The RT element collects information about the state of the RNC and the “Node B.” This information comprises signal to noise ratio (S/N), number of active users, overall traffic load, etc.

The other places from where information is collected are the Access Point Names that are associated with the various GGSN switches, which information pertains, for example, to the availability of the APNs to service requests. The information is communicated via messages in whatever format is convenient, and since at least some of this information is eventually communicated to MS 10, it is convenient to employ the currently available AT command set, which mobile stations are already designed to recognize. The AT command (expanded, perhaps) set is, of course, just an example of a chosen API, and other (perhaps more advanced) API, such as the Radio Interface Layer APIs can be chosen. The following table presents some examples of AT commands.

AT Command Effect AT!BAND Selects a set of frequency bands AT+CSQ Signal Quality AT!GSTATUS? Returns operational status AT!ERR Displays diagnostic info AT+CBST Select bearer service type AT!STATUS Phone activity status AT+Func Find phone functionality AT+CLAC List all available AT commands AT+CGEQMIN=? 3G quality of service profile (min acceptable)

One example of use of the AT commands in the context of this invention is the AT+CSQ command, which relates to signal quality. It can be combined with additional information to present to MS 10 a score, or relative cost, for access via the different RANs, and the application in MS 10 can then use this information to request a different route, or to merely alter its operation to optimize its traffic rate. One such alteration may be to slow its rate to a minimum until the signal conditions improve. Another such alteration is to withhold its elastic traffic till the available access is good enough.

To elaborate, the mobile station receives this information and employs it to reduce traffic congestion on the network, to optimize use of limited resources within the RAN network, to enable smart application on MS 10 and thereby enhance user experience by adapting to RAN conditions, to increase revenue for the operator of, for example, RAN 26. The RAN through which MS 10 is connected to the network can delay traffic of applications that yield low revenues relative to traffic that yields high revenues.

FIG. 1 also includes an operator policies module 42 that causes the information that is available to MS 10 to be filtered pursuant to some chosen policy that is established. To give one example, a chosen PDP context can be hidden from MS 10 in network congestion areas so that an application is prevented from accessing the related services, or alternatively, the network can supply enhanced PDP context at an extra cost for accessing a service and thereby MS 10 can be coaxed to choose a lower cost route, if available (for example, choose the 2G RAN 24 rather than the busy 4G RAN 26 for uploading a large picture file from MS 10). Another example is when a user is on 3G or 4G access with video conferencing application running and is traveling at speed greater than 20 miles/hours avoid handoff to any Wi-Fi access point. Yet another example is when a user launches an application on a mobile station that requires monitoring of medical sensors and real time communication with his designated health care providers, it is desirable to take upmost care to deliver the sensors' information in a timely manner. The AT commands and the extended APIs are used to make sure link state information are acceptable at all times. If and when link state information fall below thresholds then the application and the network take additional measures to ensure delivery of the sensor information. One last example is when the network wishes to reduce overall congestion, user-generated video source streams are converted to H.265 if and when user is streaming on LTE or 3G network with signal to noise ration below the threshold.

To implement these capabilities in the mobile station, MS 10 includes a metrics resource metrics unit 18 that stores Radio Access Technologies (RAT) information (i.e., information about the RANs), and information about the APNs that are associated with the GGSN switches. Module 18 employs the stored information to affect the connections of the various applications of MS 10 through network 20, and exposes this information to the applications for their own respective control of their operation. The influence over the connections of the various applications of MS 10 through network 20 is exercised when the application is initiated and, advantageously, it is also exercised in response to changing conditions in the GPRS network while the application is active. The same holds true for influencing the operation of the various applications that are open (i.e., being executed).

FIG. 2 presents a flow diagram of one embodiment of a method in accord with the principles disclosed herein that is executed in resource tracking module 41 and, at least in part, in the various RANs. Step 51 forms the cycle triggering mechanism. It may operate by passing control to step 52 in response to any significant change in the state of the RANs or the APNs, or pass control to step 52 periodically. Step 52 polls the RT in each of the RANs and the APNs in each of the GGSNs, and passes control to step 53. Step 53 processes the obtained information pursuant to policies obtained from module 42 and stores the results. The processing can, for example, develop cost measures specifically for the different RANs (e.g., for RAN 26), or for the different RAN types (e.g., all 2G RANs). From step 53, control passes to step 54 which sends whatever information was collected by, or developed within, tracking module 41 to the RANs, and control then passes to step 55. Step 55 communicates the information to the MSs that are coupled to network 20, such as MS 10. This communication can be a broadcast, or a response to an inquiry. When broadcasted, the various RANs of network 20 may broadcast in unison, in a preselected order of succession, or randomly. The amount of this data is quite modest so whatever approach is selected, the communication protocol can easily be designed to enable the mobile stations to receive the data. For example, step 53 can communicate its information to the RANs in a seriatim fashion, and the RANs immediately broadcast the information.

As an aside, WiFi access points such as AP 33 also broadcast information about their status, such as S/N over the channel between MS 10 and AP 33, the amount of other traffic that the AP is carrying, etc.

In connection with the process that is executed in MS 10, it is recognized that whether information about the state of network 20 is passively received from network 20 or actively requested from network 20 must correspond to the method by which network 20 operates.

FIG. 3 presents a flow diagram of the method executed in MS 10 where the MS passively receives the network 20 state information needed for route selections because network 20 RANs broadcast the state information. Under control of processor 19, each of the RAT elements 14-16 within module 45 is activated, in rapid succession, to determine whether a broadcast from some RAN is detected. If so, the active state of that RAT element is maintained until the state information is received. Thus, for example, step 61 receives the messages from those RANs whose signals MS 12 can receive successfully, and passes control to step 62. Step 62 extracts the information from the messages about the RANs and about all reachable APNs and stores that information in resource metrics module 18. At least one piece of information, of course, is the identity of the RAN whose signals MS 12 received and the RATs that they employ. Thereafter, step 63 updates a route selection matrix in module 18, and returns control to step 61, to await the arrival of a next message. FIG. 5 presents an example of a selection matrix that resides in module 18.

a number of underlying decisions need to be made in determining the embodiment that a given MS employs. First, will the information that is stored in metrics unit 17 be obtained through passive acceptance of transmissions or though active polling of all accessible RANs. Second, will the MS manage the route selection only when the application initially opens, or more frequently—such as periodically or in response to a change in the state of the RANs and the APNs. Any of the choices presented by the above two questions are within the scope of this invention.

It is noted that this approach enables changes that occur within network 20 to be communicated quite quickly to MS 12. The opposite approach, where MS 12 polls for information, the RANs do not need to broadcast the state information of the network's RANs and APNs. Rather, only those RANs that are within communication range of MS 12 are requested to provide the state information whenever MS 12 desires it. In such an embodiment, step 61 would “poll for and receive messages” rather than just “receive messages” and a delay element would be includes in the loop to re-initiate the polling after a preselected delay.

FIG. 4 presents a flow diagram of the method executed in MS 10 that utilizes the information that is available in modules 17 and 18. Step 64 is the trigger step. It passes control to step 64 when there is a substantial change in the selection matrix or when an application requests a server connection. When the trigger is an application that first requests connection to a server, step 65 determines, based on the type of application that makes the request, which RAN and which APN would result in the requested service being provided at lowest cost. It should be understood that the selection might be of a particular technology; e.g., “any 2G RAN,” or may be of a particular RAN, based on an index that is stored in database 17 and which represents a relative cost for using the particular RAN.

Control them passes to step 66 which undertakes to make the connection using the chosen RAN and APN. It should also be understood that the undertaking by step 66 may be a mere request placed on network 20, and that the request might not be made. It is contemplated that step 66 includes an attempt to send a next-best connection request in case the first-submitted connection request is not fulfilled.

When the trigger in step 64 is a change in the selection matrix, steps 65 and 66 are executed for each of the applications that are running on MS 10. That is, a routing request message is sent on behalf of each of the open (i.e., operating or about to be operating) applications under consideration. Optionally, the mode of operation of an application itself may be altered based on RATs that are available to the application. For example, an application's user interface might be changed based on the bandwidth that is available to the application.

The above discloses an arrangement that provides enhanced capabilities and more efficient operation for both mobile stations and the wireless access network. While some of the resultant advantages are explicitly mentioned or implied above, it should be understood that other advantages and benefits accrue from this invention. For example, based on conditions for connection to different RANs, an application may split its traffic between two or more RANs simply for load balancing, for higher overall speed of communicating data, for insuring that sensitive data gets delivered with higher probability of success (by sending it twice, each time over a different RAN), or for security (based on the notion that an interloper is not simultaneously listening on the channels of two different RANs). 

What is claimed is:
 1. A mobile station, comprising: a memory to store instructions; and a processor, coupled to the memory, that facilitates execution of the instructions to perform operations, comprising: receiving, from at least one radio access network device of a set of radio access network devices associated with a wireless access network, information relating to network resources that are available to be used by the mobile station; and determining a radio access technology sub-module of a set of radio access technology sub-modules that is to be used by the mobile station to connect to a radio access network device of the set of radio access network devices in connection with an application of a set of applications associated with the mobile station, based on the information relating to the network resources, to facilitate communication of traffic associated with the mobile station, wherein respective radio access technology sub-modules of the set of radio access technology sub-modules are associated with respective radio access technologies.
 2. The mobile station of claim 1, wherein the operations further comprise determining a program module of a set of program modules that is to be used by the mobile station in connection with the application.
 3. The mobile station of claim 1, wherein the receiving the information comprises receiving cost information relating to respective costs associated with accessing the respective radio access network devices, and wherein the determining the radio access technology sub-module further comprises determining the radio access technology sub-module based on the cost information.
 4. The mobile station of claim 1, wherein the information relating to the network resources comprises technology information that facilitates determining a subset of radio access technologies associated with a subset of the set of radio access network devices that is able to be used by the mobile station to facilitate the determining the radio access technology sub-module.
 5. The mobile station of claim 1, wherein the operations further comprise interfacing the application with a set of sensors that facilitate sensing a set of conditions.
 6. The mobile station of claim 5, wherein the set of conditions relate to a health status associated with a user identity.
 7. The mobile station of claim 1, wherein the respective radio access technologies are associated with respective sets of technical specifications and with respective radio access network devices of the set of radio access network devices.
 8. A method, comprising: receiving, by a wireless communication device, comprising a processor, information relating to network resources available to be employed by the wireless communication device from at least one radio access network device of a set of radio access network devices associated with a wireless access network; and determining, by the wireless communication device, a radio access technology sub-module of a set of radio access technology sub-modules that is to be used to connect to a radio access network device of the set of radio access network devices in connection with an application of a set of applications associated with the wireless communication device, based on the information relating to the network resources, to facilitate communication of traffic associated with the wireless communication device, wherein respective radio access technology sub-modules of the set of radio access technology sub-modules are associated with respective radio access technologies.
 9. The method of claim 8, further comprising: determining, by the wireless communication device, a program module of a set of program modules that is to be used by the wireless communication device in connection with the application.
 10. The method of claim 8, wherein the receiving the information relating to the network resources comprises receiving cost information relating to respective costs associated with accessing the respective radio access network devices, and wherein the determining the radio access technology sub-module further comprises determining the radio access technology sub-module based on the cost information.
 11. The method of claim 8, wherein the information relating to the network resources comprises a portion of information that facilitates determining a subset of radio access technologies associated with a subset of the set of radio access network devices that is able to be used by the wireless communication device to facilitate the determining the radio access technology sub-module.
 12. The method of claim 8, further comprising: allocating, by the wireless communication device, a first portion of traffic associated with the application for communication via the radio access network device and a second portion of traffic associated with the application for communication via a second radio access network device of the set of radio access network devices based on the information relating to network resources; communicating, by the wireless communication device, the first portion of traffic via the radio access network device; and communicating, by the wireless communication device, the second portion of traffic via the second radio access network device.
 13. The method of claim 8, further comprising: interfacing, by the wireless communication device, the application with a set of sensors that facilitate sensing a set of conditions; receiving, by the wireless communication device, condition data from the set of sensors; and communicating, by the wireless communication device, at least a portion of the condition data via the radio access network device.
 14. The method of claim 8, further comprising: configuring, by the wireless communication device, a user interface associated with the application based on based on the information relating to network resources; and presenting, by the wireless communication device, application-related information on the user interface via the wireless communication device.
 15. A computer-readable storage medium storing computer-executable instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising: receiving respective sets of resource availability data from respective radio access network devices of a set of radio access network devices associated with a wireless access network; determining respective resource availabilities of the respective radio access network devices based on the respective sets of resource availability data; and communicating processed information relating to the respective resource availabilities of the respective radio access network devices to the respective radio access network devices to facilitate communicating at least a portion of the processed information to a set of mobile stations associated with the wireless access network.
 16. The computer-readable storage medium of claim 15, wherein the operations further comprise: tracking operating conditions associated with the respective radio access network devices to facilitate the receiving of the respective sets of resource availability data; and generating the processed information based on the determining the respective resource availabilities of the respective radio access network devices.
 17. The computer-readable storage medium of claim 15, wherein the operations further comprise: filtering at least a portion of the respective sets of resource availability data based on a set of operator policies to facilitate generating at least a portion of the processed information.
 18. The computer-readable storage medium of claim 15, wherein the operations further comprise: detecting a change in state of a set of radio access network devices and access point name devices that comprises the set of radio access network devices; requesting resource availability data from respective radio access network devices and respective access point name devices of the set of radio access network devices and access point name devices; and to facilitate generating the processed information, processing the respective sets of resource availability data received from the respective radio access network devices and respective sets of resource availability data received from the respective access point name devices of the set of radio access network devices and access point name devices, based on a set of operator policies.
 19. The computer-readable storage medium of claim 18, wherein the operations further comprise: generating respective cost values associated with respective costs for access to the respective radio access network devices of the set of radio access network devices based on the respective sets of resource availability data received from the respective radio access network devices and the respective sets of resource availability data received from the respective access point name devices; and generating the processed information based on the respective cost values associated with the respective costs for access to the respective radio access network devices of the set of radio access network devices.
 20. The computer-readable storage medium of claim 15, wherein the processed information comprises information relating to a signal-to-noise ratio associated with an active mobile station of the set of mobile stations, a number of active mobile stations of the set of mobile stations, and an overall traffic load associated with at least a portion of the wireless access network. 